package com.rental.web.service;

import com.rental.common.result.AjaxResult;
import com.rental.model.entity.house.RentalHourse;
import com.rental.model.entity.user.UserInfo;
import com.rental.model.form.hourse.InsertRentalHourseForm;
import com.rental.model.form.hourse.RentalHourseForm;
import com.rental.model.vo.PageVo;

import java.util.List;

public interface RentalHourseService {
    List<RentalHourse> getRentalHourseList();

    AjaxResult<PageVo<RentalHourse>> getRentalHourseListBySearch(RentalHourseForm rentalHourseForm);

    AjaxResult<RentalHourse> getRentalHourseDetail(Long id, Long uid);

    AjaxResult<Boolean> insertRentalHourse(InsertRentalHourseForm insertRentalHourseForm);

    AjaxResult<String> getLandlordWechat(Long id, Long uid);

    AjaxResult<String> getLandlordPhone(Long id, Long uid);

    AjaxResult<Boolean> changeStatus(Long id, Long uid);

    AjaxResult<Boolean> collectHouse(Long id, Long uid);

    AjaxResult<Boolean> cancelCollectHouse(Long id, Long uid);

    AjaxResult<Long> getValidRentalHourseCount();

    AjaxResult<Boolean> accusation(Long id);

    AjaxResult<UserInfo> getPublishUserInfo(Long id);
}
